package com.sikaryofficial.system.api.model.outer;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sikaryofficial.system.api.model.FileInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class OrderPayInfoResp {


    /**
     * 订单付款id
     */
    @ApiModelProperty(value = "订单付款id")
    private Long payInfoId;

    /**
     * 订单
     */
    @ApiModelProperty(value = "主订单id")
    private Long orderHeaderId;

    /**
     * 条目类型（1-首付款 2-尾款）
     */
    @ApiModelProperty(value = "条目类型（1-首付款 2-尾款）")
    private Integer payType;

    /**
     * 付款金额
     */
    @ApiModelProperty(value = "付款金额")
    private BigDecimal payAmount;

    /**
     * 付款账户id
     */
    @ApiModelProperty(value = "付款账户id")
    private Long bankAccountId;

    /**
     * 付款账号快照
     */
    @ApiModelProperty(value = "付款账号快照")
    private BankAccount bankAccountSnapshot;

    /**
     * 付款状态（0-待支付 1-已支付 2-已回执）
     */
    @ApiModelProperty(value = "付款状态（0-待支付 1-已支付 2-已回执）")
    private Integer payStatus;

    @ApiModelProperty(value = "付款凭证")
    @JsonProperty("attachmentList")
    private List<FileInfo> paymentVoucherFiles;

    @ApiModelProperty(value = "货币符号")
    private String currencySymbol;

    /**
     * 租户号
     */
    private String tenantId;

    /**
     * 乐观锁
     */
    private String revision;

    /**
     * 创建人
     */
    private Long createdBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;

    /**
     * 更新人
     */
    private Long updatedBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updatedTime;

    /**
     * 删除版本：默认为0；删除则赋值当前记录主键ID
     */
    private String deletedVersion;
}
